Various multimedia services have been developed for packet-based communication using IP (Internet Protocol), typically involving transmission of media in different formats and combinations between communication nodes such as fixed or mobile telephones, computers and servers. An architecture called “IP Multimedia Subsystem” (IMS) has also been developed by the 3rd Generation Partnership Project (3GPP) to enable such multimedia services and sessions for user terminals connected to different access networks.
Multimedia sessions can be handled e.g. by using the signalling protocol “SIP” (Session Initiation Protocol) for controlling setup of the sessions in an IMS network. A communication terminal connected to an access network may thus send a message called “SIP INVITE” to initiate a session with another communication terminal or with a server, e.g. when a multimedia application has been invoked in the terminal. The SIP INVITE message triggers different actions in the IMS network and the access network for establishing the session, including reservation of appropriate resources in the access network used.
A policy node associated to the access network is also typically used to control sessions for terminals based on various predetermined policy rules and subscription profiles, including reservation of network resources in the access network. For example, different QoS (Quality of Service) requirements can be enforced by the policy node for the above resource reservation, e.g. with respect to data bitrates and latency. The policy node is also responsible for authorising and admitting communication sessions for terminals connected to the access network, based on the predefined policy rules. In 3GPP, the policy node is often referred to as a function called PCRF (Policy and Charging Rule Function).
A media session according to a requested IP service is typically established for a user terminal by means of an application function that enables the IP service. The application function may belong to an IMS network or be implemented in a separate application server. When setting up the session, the policy node communicates various service related messages with both the application function and a gateway node in the access network in order to establish appropriate communication parameters for the session.
Sessions can also be established and handled solely by the participating parties without involving any intermediate IMS network or policy node, generally referred to as peer-to-peer (P2P) sessions, which cannot however be controlled in the manner described above. A P2P network does not have the notion of clients or servers but only equal peer nodes that simultaneously function as both “clients” and “servers” to the other nodes on the network. This model of network arrangement differs from the client-server model where communication of media is usually to and from a central server.
In a P2P session, data is transmitted in data packets between the peers and the data packets are routed through an IP network, e.g. the Internet, over various routers each having their own mechanisms and policies for handling different data flows. However, the routers are typically not concerned with what data the packets contain, i.e. the media or content being communicated, or what service is used, and there is no standardised or consistent mechanism today for controlling such peer-to-peer sessions in terms of admission and QoS related parameters.
Peer-to-peer applications on the Internet are becoming ever more common and popular, e.g. for downloading various multimedia content such as music and films. For example, a technique referred to as “Bit Torrent” is a very powerful distribution mechanism that can be used for rapid sharing of multimedia content and computer programs over the Internet without requiring a traditional centralized content server, effectively avoiding the “traffic bottleneck” associated therewith.
According to this and similar mechanisms, a tracker node is contacted to find out basically in which nodes, or “peers”, a particular media object is available. After receiving a list of peers from the tracker node, different parts of the total content can be downloaded simultaneously from multiple peers in the list and these content parts are then compiled at the receiving node to form the complete content which may include one or more content files. Furthermore, so-called Distributed Hash Tables, DHT:s, are typically used in the tracker node for identifying and selecting the peers for downloading.
In FIG. 1, a typical scenario is shown for a plurality of peer-to-peer sessions between a user terminal A and multiple opposite communication nodes B, C, D, . . . over routers R in an IP network 100, e.g. for downloading different content parts from these nodes to terminal A, e.g. according to Bit Torrent. In this example, terminal A is connected to an access gateway or “edge node” EA , e.g. a GGSN (Gateway GPRS Support Node) if a mobile access network is used, while the shown opposite communication nodes B, C, D are connected to corresponding edge nodes EB, EC and ED, respectively. The transmission path for each peer-to-peer session typically runs over multiple intermediate routers R in the network 100, which may vary for different data packets during the session, which is well-known in the art. However, it is also a well-known fact that this type of mechanisms are extensively used today for illegally or illicitly spreading of content and computer programs over the Internet, i.e. without consent or control whatsoever by the content owners. Due to this lack of control, there are basically no constraints or limitations for distributing illegal or unsuitable material in this manner.
It is also a drawback with P2P sessions that no QoS can be guaranteed, e.g. in terms of transfer speed and delays, for the participating communication parties. The users are mainly dependent on the performance of underlying protocols such as sliding windows or other mechanisms implemented besides the basic P2P protocols, e.g. involving variable bitrates to create a data stream adequate for the application used. This may be a problem for real time applications where delay and jitter are critical, or when a certain download time is desirable. Another drawback associated with unrestrained P2P sessions is the amount of traffic that can be generated beyond control in the networks involved, which may result in congestion, bottlenecks, excessive processing and costs, interference and other problems.